#include <linux/module.h>
#include <linux/init.h>
#include <linux/moduleparam.h>

static int a = 0;
static int array[5] = {0};
static int array_size;
static char str1[10]={0};

module_param(a,int,S_IRUGO);
MODULE_PARM_DESC(a,"a=1");

module_param_array(array,int,&array_size,S_IRUGO);
MODULE_PARM_DESC(array,"array=1,2,3");

module_param_string(str,str1,sizeof(str1),S_IRUGO);
MODULE_PARM_DESC(str,"str=hello");

static int param_init(void)
{
    int i = 0;
    // printk("hello world!\n");
    printk("a = %d\n",a);

    for (i = 0; i < array_size; i++)
    {
        printk("array[%d]=%d\n",i,array[i]);
    }
    printk("array_size = %d",array_size);
    printk("str1 is %s\n",str1);
    return 0;
}

static void param_exit(void)
{
    printk("helloword bye!\n");
}

module_init(param_init);
module_exit(param_exit);

MODULE_LICENSE("GPL");
MODULE_AUTHOR("yan");
MODULE_VERSION("v0.1");










